Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

330
Visualizações
¿Qué es un "patrón de subruta" en NodeJS?

Mientras leía un blog sobre las novedades de Angular 13, encontré la siguiente declaración:

Las versiones de Node.js anteriores a v12.20 ya no son compatibles debido a que los paquetes de Angular utilizan la función de exportación de paquetes de Node.js con patrones de subruta .

Entonces, me pregunto, ¿qué significa "patrones de subtrayecto"? Los ejemplos serán más que bienvenidos aquí.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cito de nodejs.org :

Patrones de subruta

Agregado en: v14.13.0, v12.20.0

Para paquetes con una pequeña cantidad de exportaciones o importaciones, recomendamos enumerar explícitamente cada entrada de subruta de exportaciones. Pero para los paquetes que tienen una gran cantidad de rutas secundarias, esto podría causar problemas de mantenimiento y de sobrecarga de package.json .

Para estos casos de uso, se pueden usar patrones de exportación de rutas secundarias en su lugar:

 // ./node_modules/es-module-package/package.json { "exports": { "./features/*": "./src/features/*.js" }, "imports": { "#internal/*": "./src/internal/*.js" } }

* los mapas exponen subrutas anidadas ya que es solo una sintaxis de reemplazo de cadenas.

Todas las instancias de * en el lado derecho se reemplazarán con este valor, incluso si contiene algún separador /.

 import featureX from 'es-module-package/features/x'; // Loads ./node_modules/es-module-package/src/features/x.js import featureY from 'es-module-package/features/y/y'; // Loads ./node_modules/es-module-package/src/features/y/y.js import internalZ from '#internal/z'; // Loads ./node_modules/es-module-package/src/internal/z.js

Este es un reemplazo estático directo sin ningún manejo especial para las extensiones de archivo. En el ejemplo anterior, pkg/features/x.json se resolvería en ./src/features/x.json.js en la asignación.

La propiedad de que las exportaciones sean estáticamente enumerables se mantiene con los patrones de exportación, ya que las exportaciones individuales de un paquete se pueden determinar tratando el patrón de destino del lado derecho como un globo terráqueo ** en la lista de archivos dentro del paquete. Debido a que las rutas de node_modules están prohibidas en los destinos de exportación, esta expansión depende solo de los archivos del paquete en sí.

Para excluir subcarpetas privadas de patrones, se pueden usar objetivos null :

 // ./node_modules/es-module-package/package.json { "exports": { "./features/*": "./src/features/*.js", "./features/private-internal/*": null } }
 import featureInternal from 'es-module-package/features/private-internal/m'; // Throws: ERR_PACKAGE_PATH_NOT_EXPORTED import featureX from 'es-module-package/features/x'; // Loads ./node_modules/es-module-package/src/features/x.js
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda